package com.grape.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.grape.dto.PermissionDTO;
import com.grape.entity.SysPermission;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *
 * 权限表 Mapper接口
 *
 * @author  putao
 * @email   2628279194@qq.com
 */
public interface SysPermissionMapper extends BaseMapper<SysPermission> {

    /**
     * 根据角色集合查询权限集合
     * @param roleNameList  角色集合
     * @return              权限集合
     */
    List<SysPermission> selectByRoleName(@Param("roleNameList") List<String> roleNameList);

    /**
     * 根据用户id查询角色列表
     * @param userId    用户id
     * @return          权限集合
     */
    List<SysPermission> selectByUserId(String userId);

    /**
     * 根据角色id查询权限和全部权限
     * @param roleId                角色id
     * @return                      权限集合
     */
    List<SysPermission> selectByRoleId(String roleId);

    /**
     * 查询全部用户权限
     * @return          权限DTO集合
     */
    List<PermissionDTO> listAllUserPermission();
}
